/* 
 * BAT_Builder.h
 *
 * Builds a BAT_GeneTab object out of a set of features.
 *
 * Bob Zimmermann <rpz@cse.wustl.edu>
 * Totally free.
 */

#ifndef BAT_BUILDER_H
#  define BAT_BUILDER_H

#  include "BAT_Annotation.h"
#  include "darray.h"
#  include "BAT_Parser.h"

typedef struct _BAT_Builder BAT_Builder;

struct _BAT_Builder
{
  darray_t *feats;
};

BAT_Builder *BAT_Builder_new ();
void BAT_Builder_delete (BAT_Builder *, int);

void BAT_Builder_add_features_from_parser (BAT_Builder * b, BAT_Parser * p);
void BAT_Builder_add_features (BAT_Builder * b, BAT_Free_Feature ** feats,
			       da_pos_t n_feats);
BAT_GeneTab *BAT_Builder_build_gene_table (BAT_Builder * b);

#endif /* BAT_BUILDER_H */
